package entity.test01.demo02;

import entity.Student;

import java.lang.reflect.Constructor;

public class MainTest01 {
    public static void main(String[] args) throws Exception{
            // 1.获取 Student 类的 Class 对象
            Class<Student> clazz = Student.class;

            // 在反射中，把类的相关信息封装为相关的对象
            // 2.获取类的构造方法对象
            Constructor<Student> constructor = clazz.getConstructor();

            // 3.实例化对象
            Student stu = constructor.newInstance();

            // 4.向下转换 - 证明：反射实例化出来的确实是 Student 对象
        // 这个方法中不需要转行，因为Class是泛型，不用显示转行

            // 5.调用方法
            stu.sayHello("张三");
    }
}
